package day03;

/**
 * @author CYF;
 * @date 2019/7/20.
 */
public class HomeWork {
    public static void main(String[] args) {
        //printTriangle(10);

        getSum(509);
    }

    public static void printTriangle(int n) {
        /**
        * 方法实现说明    打印杨辉三角
        * @author      cyf
        * @param n
        * @return      void
        * @exception
        * @date        2019/7/20 14:33
        */

        int [][] arr = new int[n][n];// 定义一个二维数组用来存结果

        for (int i = 0; i < n; i++) {
            for (int j = 0; j <= i; j++) {
                if (j == 0) {   // 当为第一列时,值全设置为1
                    arr[i][j] = 1;
                }else { // 否则这个数等于他肩上的两数之和
                    arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
                }
                System.out.print(arr[i][j] + " ");
            }
            System.out.println();
        }
    }

    public static void getSum(int n) {
        /**
        * 方法实现说明  求和
        * @author      cyf
        * @param n
        * @return      void
        * @exception
        * @date        2019/7/21 14:24
        */

        int count = 0;// 定义一个计数器

        int result = n;// 把要求数据先放到另一个变量中,以便后用

        while (n >= 1){//计算位数
            n = n / 10;
            count++;
        }

        int sum = 0; // 将和sum记录为初始值
        for (int i = 0; i < count; i++) {
            int b = (int) (result / Math.pow(10, i)); // 记录每一次擦完之后的值
            sum += b;   // 求和
        }
        System.out.println(sum);
    }
}
